// 使用task 处理异步任务
const fs = require("fs")
const { task } =require('folktale/concurrency/task')
const { split, find} = require("lodash/fp")

function readFile(filename) {
    return task((resolver) => {
        fs.readFile(filename, 'utf-8', (err, data) => {
            if (err) resolver.reject(err)
            resolver.resolve(data)
        })
    })
}

readFile("package.json")
.map(split('\n'))
.map(find(x=>x.includes('version')))
.run()
.listen({
    onRejected: (err) =>{
        console.log(err)
    },
    onResolved: (val) =>{
        console.log(val)
    }
})